package com.firefly.admin.config.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.firefly.admin.common.vo.Result;
import com.firefly.admin.config.entity.FySystemConfiguration;
import com.firefly.admin.config.vo.SystemConfigurationQueryVo;

import java.util.List;

public interface FySystemConfigurationService {

    /**
     * 查询所有配置信息
     *
     * @return 配置信息列表
     */
    List<FySystemConfiguration> getAllConfig();

    /**
     * 分页查询系统配置接口
     *
     * @param systemConfigurationQueryVo 分页查询参数
     * @return 分页列表
     */
    Result<Page<FySystemConfiguration>> getSystemConfigurationList(SystemConfigurationQueryVo systemConfigurationQueryVo);

    /**
     * 获取系统配置信息接口
     *
     * @param configId 配置ID
     * @return 配置信息
     */
    Result<FySystemConfiguration> getSystemConfiguration(Long configId);

    /**
     * 系统字典信息编辑接口
     *
     * @param fySystemConfiguration 配置信息
     * @return 操作结果
     */
    Result<FySystemConfiguration> update(FySystemConfiguration fySystemConfiguration);

    /**
     * 通过配置项KEY获取系统配置值接口
     *
     * @param configKey 配置KEY
     * @return 系统配置值
     */
    Result<String> getConfigurationValue(String configKey);
}
